package io.renren.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import io.renren.entity.ExamDatailsEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 考试详情表
 *
 * @author LANLING
 * @email lanling@gmail.com
 * @date 2018-10-30 14:44:05
 */
public interface ExamDatailsDao extends BaseMapper<ExamDatailsEntity> {
    /***
     * 插入单选题
     * @param examId 试卷id
     * @param studentId 学生id
     * @param subjectId 科目id
     * @param radioNumber 单选题数量
     */
    void insertRadioNumber(@Param("examId") Integer examId, @Param("studentId") Long studentId, @Param("subjectId") Integer subjectId, @Param("radioNumber") Integer radioNumber);

    /***
     *插入多选题
     * @param examId 试卷id
     * @param studentId 学生id
     * @param subjectId 科目id
     * @param radioNumber 单选题数量
     * @param checkNumber 多选题数量
     */
    void insertCheckNumber(@Param("examId") Integer examId, @Param("studentId") Long studentId, @Param("subjectId") Integer subjectId, @Param("radioNumber") Integer radioNumber, @Param("checkNumber") Integer checkNumber);

    /***
     * 插入判断题
     * @param examId 试卷id
     * @param studentId 学生id
     * @param subjectId 科目id
     * @param radioNumber 单选题数量
     * @param checkNumber 多选题数量
     * @param judegNumber 判断题数量
     */
    void insertJudegNumber(@Param("examId") Integer examId, @Param("studentId") Long studentId, @Param("subjectId") Integer subjectId, @Param("radioNumber") Integer radioNumber, @Param("checkNumber") Integer checkNumber, @Param("judegNumber") Integer judegNumber);

    /***
     * 获取题目
     * @param studentId 学员id
     * @param sort 序号
     * @param examId 试卷id
     * @return
     */
    List<Map<String, Object>> getQuestion(@Param("studentId") Long studentId, @Param("sort") Integer sort, @Param("examId") Integer examId);


    /***
     * 根据试卷题目 一题一题获取题目
     * @param studentId 学员id
     * @param sort 序号
     * @param examId 试卷id
     * @return
     */
    Map<String, Object> getQuestionOneByOne(@Param("studentId") Long studentId, @Param("sort") Integer sort, @Param("examId") Integer examId);
}
